2020422simulink 模块(二) 您所在的位置:网站首页 simulink 总线 2020422simulink 模块(二)

2020422simulink 模块(二)

2024-07-09 12:02| 来源: 网络整理| 查看: 265

Matlab 模块

根据Simulink运行机制,每个采样点会调用一次MATLAB Function的函数,两次调用之间,同一个变量的两次计算的终值如何传递到当前计算周期是一个问题。使用persistent 变量实现函数退出和进入时内部变量值的保持。每次调用fcn 时依据上次

Matlab Function 内部M 语言有严格要求:变量必须要给初始值以及维度,变量类型以及实虚性

function y = fcn(u) %# codegen persistent sum_val if isempty(sum_val) sum_val=0; end sum_val=sum_val+u; y = sum_val;

persistent变量时定义在某个函数内的变量类型,可在函数调用的不同次数间保持上一次退出该函数的值。它同global全局变量的类似之处在于MATLAB为他们创建永久数据区域,不同之处在于它只能被声明它的函数内部识别,目的是免除 此类变量被其他函数或命令修改值而造成用户无法确保其值得困扰。

声明persistent变量时它刚被创建,其内容为空值[ ]。

使用persistent变量需要注意:

persistent变量不能作为函数的输入输出参数,否则会报错。persistent变量不能同当前工作空间中已经存在的变量同名,否则会报错。persistent变量不能声明在Command Window中,只能在函数中声明。


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有